package com.anntly.nio;

import java.io.FileNotFoundException;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;

/**
 * @Auther: 张文
 * @Date: 2020/5/2 18:47
 * @Description: 使用直接内存操作
 */
public class MappedByteBufferDemo {
    public static void main(String[] args) throws Exception {
        RandomAccessFile randomAccessFile = new RandomAccessFile("F:\\books\\netty\\test.txt", "rw");
        FileChannel channel = randomAccessFile.getChannel();
        // 1. 读写模式 2. 可以直接修改的起始位置  3.映射到内存的大小，即将文件的多少个字节映射到内存，范围为0-5
        MappedByteBuffer map = channel.map(FileChannel.MapMode.READ_WRITE, 0, 5);
        map.put(0,(byte) 'A');
        map.put(3,(byte)'9');
        randomAccessFile.close();
    }
}
